/**
 * @file
 * @author  michal.nezerka@gmail.com
 * @brief   GPX file Declaration
 *
 * Definition of GPX class and all related classes 
 */

#ifndef WWGPX_H
#define WWGPX_H

#include <vector>
#include <wx/xml/xml.h>

namespace wildwood 
{

class GpxRoute
{
};

class GpxWaypoint
{
    float lat;
    float lon;
    float ele;
};

class GpxTrackSegment
{
    std::vector<GpxWaypoint*> mWaypoints;
};

class GpxTrack
{
private:
    std::vector<GpxTrackSegment*> mSegments;
};

class Gpx
{
public:
    Gpx();
    virtual ~Gpx();
    void loadFromFile(wxString path);
    void saveToFile(wxString path);

private:
    wxString creator;
    std::vector<GpxRoute*> mRoutes;
    std::vector<GpxWaypoint*> mWaypoints;
    std::vector<GpxTrack*> mTracks;
};

} // namespace

#endif // WWGPX_H
